<!DOCTYPE html>
<title>Element ready check for child of a fullscreen iframe</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../trusted-click.js"></script>
<div id="log"></div>
<iframe><!-- script inserts div here --></iframe>
<script>
// Verify that an iframe can itself go fullscreen, and that this doesn't
// influence the iframe ancestor test of the element ready check.
async_test(t => {
  var iframe = document.querySelector("iframe");

  document.onfullscreenchange = t.step_func(() => {
    assert_equals(document.fullscreenElement, iframe, "fullscreen element");

    // This adds the div to the iframe element itself, not to the iframe's
    // contentDocument. It's done here because the HTML parser treats the
    // content of iframe as a text node.
    var div = document.createElement("div");
    iframe.appendChild(div);

    document.onfullscreenchange = t.step_func_done(() => {
      assert_equals(document.fullscreenElement, div);
    });
    document.onfullscreenerror = t.unreached_func("fullscreenerror event");

    trusted_request(t, div, iframe.contentDocument.body);
  });

  trusted_request(t, iframe);
});
</script>
